package com.sinog.biz.service.business;

import com.sinog.core.model.UploadAppendixFile;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;

/**
 * @desc 档案导出
 * @author sunsf
 * @date 2020-02-28
 */
@RestController
public interface DadcMainService {

    /**
     * 获取基本信息
     * @param map map
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuBaseInfo")
    Map<String,Object> getDachuBaseInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取衔接信息
     * @param map map
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuHcInfo")
    List<Map<String,Object>> getDachuHcInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取安置信息
     * @param map map
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuAzInfo")
    List<Map<String,Object>> getDachuAzInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取救助信息
     * @param map map
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuJzInfo")
    List<Map<String,Object>> getDachuJzInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取帮扶信息
     * @param map map
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuBfInfo")
    List<Map<String,Object>> getDachuBfInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取衔接信息
     * @param map map
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuXjInfo")
    Map<String,Object> getDachuXjInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取失联信息
     * @param map map
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuSlInfo")
    List<Map<String,Object>> getDachuSlInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取年度鉴定信息
     * @param map map
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuJdInfo")
    List<Map<String,Object>> getDachuJdInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取导出模板
     * @param templateId templateId
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getTemplateName")
    Map<String,Object> getTemplateName(@RequestParam(value = "templateId", required = false) String templateId);

    /**
     * 获取出监评估信息
     * @param map map
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuCjpgInfo")
    Map<String,Object> getDachuCjpgInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取机构信息信息
     * @param map map
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuJgInfo")
    Map<String,Object> getDachuJgInfo(@RequestBody Map<String,Object> map);

    /**
     * 获取导出模板
     * @param paramMap paramMap
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuJtcyInfo")
    List<Map<String,Object>> getDachuJtcyInfo(@RequestBody Map<String,Object> paramMap);

    /**
     * 获取罪犯照片
     * @param priNum priNum
     * @return String
     */
    @RequestMapping("/azbj/azbjgl/dagl/getHeadPicByPrinum")
    String getHeadPicByPrinum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 获取帮教人员信息
     * @param paramMap paramMap
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getDachuBjryInfo")
    List<Map<String,Object>> getDachuBjryInfo(@RequestBody Map<String,Object> paramMap);

    /**
     * 获取委托信息
     * @param paramMap paramMap
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getWeituoInfo")
    Map<String,Object> getWeituoInfo(@RequestBody Map<String,Object> paramMap);

    /**
     * 获取附件信息
     * @param paramMap paramMap
     * @return List<Map<String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getAppendix")
    List<Map<String,Object>> getAppendix(@RequestBody Map<String,Object> paramMap);

    /**
     * 预安置管理 - 预安置人员核查 - 核查中 - 导出(核查信息函)
     * @param paramMap paramMap
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/hcxxh")
    Map<String,Object> hcxxh(@RequestBody Map<String,Object> paramMap);

    /**
     * 核查信息回执单 - 查询专用
     * @param paramMap paramMap
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/hchzd")
    Map<String,Object> hchzd(@RequestBody Map<String,Object> paramMap);

    /**
     * 衔接函 - 查询专用
     * @param paramMap paramMap
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/xjh")
    Map<String,Object> xjh(@RequestBody Map<String,Object> paramMap);

    /**
     * 衔接回执单 - 查询专用
     * @param paramMap paramMap
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/xjhzd")
    Map<String,Object> xjhzd(@RequestBody Map<String,Object> paramMap);

    /**
     * 帮教工作方案查询专用
     * @param paramMap paramMap
     * @return Map<String,Object>
     */
    @RequestMapping("/azbj/azbjgl/dagl/bjgzfa")
    Map<String,Object> bjgzfa(@RequestBody Map<String,Object> paramMap);

    /**
     * 填写信息
     * @param priNum priNum
     * @param taskid taskid
     * @return List<UploadAppendixFile>
     */
    @RequestMapping("/azbj/azbjgl/dagl/getUploadAppendixFile")
    List<UploadAppendixFile> getUploadAppendixFile(
            @RequestParam(value = "priNum", required = false) String priNum,
            @RequestParam(value = "taskid", required = false) String taskid);
}